package com.meida.module.product.provider.service;

import com.meida.common.enums.VisiableEnum;
import com.meida.common.mybatis.model.ListModel;
import com.meida.common.mybatis.model.ResultBody;
import com.meida.common.mybatis.base.service.IBaseService;
import com.meida.common.mybatis.entity.EntityMap;
import com.meida.module.product.client.entity.ProdCategory;

import java.util.List;

/**
 * 店铺产品分类 接口
 *
 * @author flyme
 * @date 2019-06-19
 */
public interface ProdCategoryService extends IBaseService<ProdCategory> {

    /**
     * 设置状态
     *
     * @param categoryId
     * @param visiableEnum
     * @return
     */
    ResultBody setState(Long categoryId, VisiableEnum visiableEnum);

    ResultBody listAll(ListModel listModel);

    /**
     * 查询一级分类
     */
    List<EntityMap> selectFirstCategory(String categoryName);

    /**
     * 查询店铺一级分类
     */
    List<EntityMap> selectShopFirstCategory(Long shopId);

    /**
     * 查询店铺二级分类
     */
    List<EntityMap> selectShopSecondCategory(Long shopId,Long categoryId);

    /**
     * 查询二级分类
     */
    List<EntityMap> selectSecondCategory(Long categoryId, String categoryName);

    /**
     * 查询全部分类
     */
    ResultBody selectAllCategory();

    /**
     * 查询店铺商品分类
     */
    ResultBody selectShopCategory(Long shopId);

    /**
     * 查询分类名称
     * @param categoryIds
     * @return
     */
    List<String> selectNames(String[] categoryIds);

    /**
     * 根据分类名称查询ID
     * @param categoryNames
     * @return
     */
    List<String> selectIds(String[] categoryNames);

}
